]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
power: Handle "100% but charging" case
authorPhilip Chimento <philip@endlessm.com>
Thu, 7 Nov 2019 20:51:28 +0000 (12:51 -0800)
committerPhilip Chimento <philip@endlessm.com>
Thu, 7 Nov 2019 20:58:54 +0000 (12:58 -0800)
I've observed that UPower can occasionally report a charge level of 100%
while the state is still "charging". This usually doesn't last very long
but it is noticeable because the power icon changes to a "missing icon"
icon. This will handle that rare case correctly.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/814

js/ui/status/power.js

index 449f15917313865c30a962fef4e486945c04cd00..76343d244a691fc6d428dc5a16787445592382ff 100644 (file)
@@ -112,9 +112,12 @@ class Indicator extends PanelMenu.SystemIndicator {
         let chargingState = this._proxy.State == UPower.DeviceState.CHARGING
             ? '-charging' : '';
         let fillLevel = 10 * Math.floor(this._proxy.Percentage / 10);
-        let icon = this._proxy.State == UPower.DeviceState.FULLY_CHARGED
-            ? 'battery-level-100-charged-symbolic'
-            : `battery-level-${fillLevel}${chargingState}-symbolic`;
+        let icon;
+        if (this._proxy.State == UPower.DeviceState.FULLY_CHARGED ||
+            fillLevel === 100)
+            icon = 'battery-level-100-charged-symbolic';
+        else
+            icon = `battery-level-${fillLevel}${chargingState}-symbolic`;
 
         // Make sure we fall back to fallback-icon-name and not GThemedIcon's
         // default fallbacks